Online systems may provide numerous products and services to a requestor. Some examples of such products and services include general browsing of websites, online purchase and sale of products, financial services including facilitating financial transactions, and downloading information. The requestor may utilize these products and services by sending requests to the online systems.
Typically, the requestor sends a request to the online system using a web application. The online system often includes a middleware application for processing the requests. The middleware application forwards the received request to the backend system. In response to receiving the request, the backend system processes it and sends an appropriate response to the middleware application. The middleware application may send the response to the requestor.
However, such architecture for handling requests may not be effective when the backend system is heavily loaded, slowing down, and/or not working properly. In such cases, the requestor may experience exceptionally long wait times or no response at all due to a “time out” which may be frustrating for the requestor. As a result, while waiting for the response, the requestor may send the same request repeatedly, thereby resulting in a long queue of similar requests. This may lead to overloading at the backend system, thus exacerbating the existing situation further and resulting in slow recovery of the backend system.
Given the foregoing, what is needed is a system, a method and a computer readable medium for providing timely responses to requests.